[Swift 3.0] Playground で URLSession を使う
Playground でネットワーク通信
本日は iPhone 7 & iPhone 7 Plus 発売日ですね!! みなさん予約はされていましたか?
本日は、ちょっとした小ネタで大変恐縮ですが、Xcode 8 の Playground 上で、URLSession を使って簡単な JSON を取得するサンプルを作ったので公開します。大したことはしていません…。
実装コード
以下を Playground にコピペするだけで、URL Session を使った通信処理を試すことができます。
import Foundation import PlaygroundSupport PlaygroundPage.current.needsIndefiniteExecution = true class Client { func someTask() { let url = URL(string: "http://date.jsontest.com/")! let task = URLSession.shared.dataTask(with: url) { data, response, error in if let jsonData = data { self.printJSON(jsonData) } } task.resume() } func printJSON(_ data: Data) { do { let json = try JSONSerialization.jsonObject(with: data, options: .allowFragments) print(json) } catch { print("parse error!") } } } let client = Client() client.someTask()
最大のポイントは PlaygroundSupport フレームワークをインポートし、PlaygroundPage
の needsIndefiniteExecution
を true
にするところです。こうしないと通信処理はできません。
試す
Playground で実行すると、正常に取得できていることが確認できます。なお、JSON を返す API は http://www.jsontest.com/ を使わせていただきました。
まとめ
API の呼び出しテストに使える簡単な実装でした。開発の一助になれば幸いです。